<?php
GLOBAL $AppUI, $role_id, $canEdit, $canDelete, $tab;

$perms =& $AppUI->acl();
$module_list = $perms->getModuleList();
$pgos = array();
$count = 0;
$modules = array();
foreach ($module_list as $module)
  $modules[$module['type'] . ',' . $module['id']] = $module['name'];

//Pull User perms
$role_acls = $perms->getRoleACLs($role_id);
if (! is_array($role_acls)) {
  $role_acls = array(); // Stops foreach complaining.
}
$perm_list = $perms->getPermissionList();

?>

<script language="javascript">
<? if ($canEdit) { ?>

function clearIt(){
	var f = document.frmPerms;
	f.sqlaction2.value = "<?=$AppUI->_('add')?>";
	f.permission_id.value = 0;
	f.permission_grant_on.selectedIndex = 0;
}

function doDeleteRole(id) {
	if (confirm( '<?=$AppUI->_('Are you sure you want to delete this permission?', UI_OUTPUT_JS)?>' )) {
		var f = document.frmPerms;
		f.del.value = 1;
		f.permission_id.value = id;
		f.submit();
	}
}

function doAddPermission() {
	Dialog('idPermDialog').show();
}
<? } ?>
</script>

<table width="100%" border="0" cellpadding="4" cellspacing="0" class="list">
<tr>
	<th width="100%"><?=$AppUI->_('Item')?></th>
	<th><?=$AppUI->_('Type')?></th>
	<th><?=$AppUI->_('Status')?></th>
	<th class="last">&nbsp;</th>
</tr>

<?php
foreach ($role_acls as $acl){
	$buf = '';
	$permission = $perms->get_acl($acl);

	// Module information.
	if (is_array($permission)) {
		$modlist = array();
		$itemlist = array();
		if (is_array($permission['axo_groups'])) {
			foreach ($permission['axo_groups'] as $group_id) {
				$group_data = $perms->get_group_data($group_id, 'axo');
				$modlist[] = $AppUI->_($group_data[3]);
			}
		}
		if (is_array($permission['axo'])) {
			foreach ($permission['axo'] as $key => $section) {
				foreach ($section as $id) {
					$mod_data = $perms->get_object_full($id, $key, 1, 'axo');
					$modlist[] = $AppUI->_($mod_data['name']);
				}
			}
		}
		$buf .= '<td>'.implode('<br/>', $modlist).'</td>';
		// Type information.
		$perm_type = array();
		if (is_array($permission['aco'])) {
			foreach ($permission['aco'] as $key => $section) {
				foreach ($section as $value) {
					$perm = $perms->get_object_full($value, $key, 1, 'aco');
					$perm_type[] = $AppUI->_($perm['name']);
				}
			}
		}
		$buf .= '<td>'.implode('<br/>', $perm_type).'</td>';

		// Allow or deny
		$buf .= '<td>' . $AppUI->_( $permission['allow'] ? 'allow' : 'deny' ) . '</td>';
		$buf .= '<td>';
		if ($canDelete) {
			$buf .= '<a href="javascript:doDeleteRole('.$acl.')" title="'.$AppUI->_('delete').'">'
				. dPshowImage('images/common_delete.gif')
				. '</a>';
		}
		$buf .= '</td>';
		
		echo '<tr class="second">'.$buf.'</tr>';
	}
}
?>
</table>

<?php if ($canEdit) {?>
<div id="idPermDialog" class="popup" style="visibility: hidden" autohide="click">
<table cellspacing="0" cellpadding="4" border="0" width="350px">
<form name="frmPerms" method="post" action="?m=system&u=roles">
	<input type="hidden" name="del" value="0" />
	<input type="hidden" name="dosql" value="do_perms_aed" />
	<input type="hidden" name="role_id" value="<?=$role_id?>" />
	<input type="hidden" name="permission_id" value="0" />
	<input type="hidden" name="permission_item" value="-1" />
<tr>
	<th colspan="2" bgcolor="#E0E0E0"><?=$AppUI->_('Add Permissions')?></th>
</tr>
<tr>
	<td align="right"><?=$AppUI->_('Module')?></td>
	<td width="100%"><?=arraySelect($modules, 'permission_module', 'size="1" class="text"', 'grp,all', true)?></td>
</tr>
<tr>
	<td align="right" valign="top" style="padding-top: 10px"><?=$AppUI->_('Permission')?></td>
	<td>
		<select name="permission_access" class="text">
			<option value='1'><?=$AppUI->_('allow')?></option>
			<option value='0'><?=$AppUI->_('deny')?></option>
		</select>
		<table border="0" cellpadding="2" cellspacing="0" width="100%"
			style="border: 1px solid #E0E0E0; border-right: 0px solid #000; margin-top: 4px">
		<tr bgcolor="#F0F0F0">
		<?	foreach ($perm_list as $perm_id => $perm_name) { ?>
			<td align="center" width="20%" style="border-right: 1px solid #E0E0E0">
				<?=$AppUI->_($perm_name)?>
			</td>
		<?	} ?>
		</tr>
		<tr>
		<?	foreach ($perm_list as $perm_id => $perm_name) { ?>
			<td align="center" style="border-right: 1px solid #E0E0E0; border-top: 1px solid #E0E0E0">
				<input type='checkbox' name='permission_type[]' value='<?=$perm_id?>'>
			</td>
		<?	} ?>
		</tr>
		</table>
	</td>
</tr>
<tr>
	<td colspan="2" align="center" style="border-top: 1px solid #E0E0E0; padding: 6px">
		<input type="reset" value="<?=$AppUI->_('Clear')?>" class="button" name="sqlaction" onClick="clearIt()">
		<input type="submit" value="<?=$AppUI->_('Add')?>" class="button" name="sqlaction2">
		<input type="button" value="<?=$AppUI->_('Close')?>" class="button" onclick="Dialog('idPermDialog').hide()">
	</td>
</tr>
</form>
</table>
</div>
<?php } ?>
